03-正运动学与 DH 参数
目录
正运动学与 DH 参数
1. 正运动学是什么
正运动学研究:
已知关节变量,求末端位姿。
写成映射:
$$ q \mapsto T(q) $$
其中:
- $q$:关节变量
- $T(q)$:末端相对基座的位姿
2. 平面二连杆正运动学
设:
- 连杆长度:$l_1, l_2$
- 关节角:$q_1, q_2$
则末端位置:
$$ x = l_1\cos q_1 + l_2\cos(q_1+q_2) $$
$$ y = l_1\sin q_1 + l_2\sin(q_1+q_2) $$
末端姿态角:
$$ \phi = q_1 + q_2 $$
理解
- 位置:是各段连杆在全局坐标系下的向量和
- 姿态:是各关节角的累计
3. 一般平面串联机械臂的正运动学
对平面 $n$ 连杆转动机构:
$$ \phi = \sum_{i=1}^{n} q_i $$
$$ x = \sum_{i=1}^{n} l_i \cos\left(\sum_{k=1}^{i} q_k\right) $$
$$ y = \sum_{i=1}^{n} l_i \sin\left(\sum_{k=1}^{i} q_k\right) $$
4. 正运动学的统一写法
对串联机械臂,最标准的形式是相邻坐标系变换连乘:
$$ {}^0T_n = {}^0T_1\,{}^1T_2\cdots{}^{n-1}T_n $$
这就是为什么齐次变换矩阵如此重要。
5. 为什么需要 DH 参数
二维小机构还可以看图直接写矩阵;但到三维机械臂时:
- 关节轴不一定平行
- 连杆之间可能存在扭转
- 局部坐标系不好凭感觉定义
所以需要一种标准化方法描述相邻坐标系关系,这就是 DH 参数法。
6. DH 四参数
经典 DH 参数为:
$$ \theta_i,\ d_i,\ a_i,\ \alpha_i $$
含义:
- $\theta_i$:绕 $z_{i-1}$ 的转角
- $d_i$:沿 $z_{i-1}$ 的位移
- $a_i$:沿 $x_i$ 的位移(连杆长度)
- $\alpha_i$:绕 $x_i$ 的转角(连杆扭角)
7. 经典 DH 单节变换
$$ {}^{i-1}T_i = \mathrm{Rot}_z(\theta_i)\,\mathrm{Trans}_z(d_i)\,\mathrm{Trans}_x(a_i)\,\mathrm{Rot}_x(\alpha_i) $$
对应矩阵:
$$ {}^{i-1}T_i= \begin{bmatrix} \cos\theta_i & -\sin\theta_i\cos\alpha_i & \sin\theta_i\sin\alpha_i & a_i\cos\theta_i \ \sin\theta_i & \cos\theta_i\cos\alpha_i & -\cos\theta_i\sin\alpha_i & a_i\sin\theta_i \ 0 & \sin\alpha_i & \cos\alpha_i & d_i \ 0 & 0 & 0 & 1 \end{bmatrix} $$
8. R 关节和 P 关节
转动关节 R
变量通常是:
$$ \theta_i $$
移动关节 P
变量通常是:
$$ d_i $$
因此 DH 表里哪一列是变量,直接决定关节类型。
9. DH 建系核心规则
规则 1:关节轴定义 $z$
第 $i$ 个关节轴定义为 $z_{i-1}$。
规则 2:相邻 $z$ 轴的公共法线定义 $x$
$x_i$ 轴沿 $z_{i-1}$ 和 $z_i$ 的公共法线方向。
这两条是 DH 的核心。
10. 平面二连杆的 DH 表
若两关节都是转动关节,且所有转轴都平行,则:
| i | $\theta_i$ | $d_i$ | $a_i$ | $\alpha_i$ |
|---|---|---|---|---|
| 1 | $q_1$ | 0 | $l_1$ | 0 |
| 2 | $q_2$ | 0 | $l_2$ | 0 |
因为平面二连杆中:
- 没有轴间扭转:$\alpha_i = 0$
- 没有沿 $z$ 偏移:$d_i = 0$
11. 这一部分的关键理解
- 正运动学是从关节空间到末端空间的映射
- 齐次变换连乘是正运动学的统一语言
- DH 参数不是额外负担,而是把三维机械臂建模标准化的方法